package com.brainhealth.customer.domain;

import com.brainhealth.common.enums.ReportType;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.brainhealth.common.annotation.Excel;
import com.brainhealth.common.core.domain.BaseEntity;

/**
 * 会员阶段报告对象 customer_report_cycle
 * 
 * @author wolong
 * @date 2023-05-19
 */
public class CustomerReportCycle extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 会员阶段报告表主键 */
    private Long customerReportCycleId;

    /** 关联会员表主键ID */
    @Excel(name = "关联会员表主键ID")
    private Long customerId;

    /** 关联订单表主键ID */
    @Excel(name = "关联订单表主键ID")
    private String orderId;

    /** (0 日报 1 7次报告 2 28天报告) */
    @Excel(name = "(0 日报 1 7次报告 2 28天报告)")
    private ReportType reportType;

    /** 7次报告百分比28次击败(随机数) */
    @Excel(name = "7次报告百分比28次击败(随机数)")
    private Long percentValue;

    /** 青竹陪伴你多长时间 */
    @Excel(name = "青竹陪伴你多长时间")
    private Long onTime;

    /** 会员总学习时间 */
    @Excel(name = "")
    private Long learnTime;

    /** 总训练时长 */
    @Excel(name = "总训练时长")
    private Long exerciseTime;

    /** 总训练次数 */
    @Excel(name = "总训练次数")
    private Long exerciseCount;

    /** 总训练次数综合得分 */
    @Excel(name = "总训练次数综合得分")
    private Long timeScore;

    /** 训练时间最长的时间 */
    @Excel(name = "训练时间最长的一天")
    private Long longestTime;
    /**
     * 训练时间最长的一天
     */
    private String longestDay;

    /** 最快完成脑力游戏的时间 */
    @Excel(name = "最快完成脑力游戏的时间")
    private Long shortestTime;

    /** 执行力 */
    @Excel(name = "执行力")
    private Long execute;

    /** 注意力 */
    @Excel(name = "注意力")
    private Long attention;

    /** 记忆力 */
    @Excel(name = "记忆力")
    private Long memory;

    /** 逻辑推理 */
    @Excel(name = "逻辑推理")
    private Long logic;

    public void setCustomerReportCycleId(Long customerReportCycleId) 
    {
        this.customerReportCycleId = customerReportCycleId;
    }

    public Long getCustomerReportCycleId() 
    {
        return customerReportCycleId;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }

    public String getOrderId()
    {
        return orderId;
    }

    public void setOrderId(String orderId)
    {
        this.orderId = orderId;
    }

    public ReportType getReportType()
    {
        return reportType;
    }

    public void setReportType(ReportType reportType)
    {
        this.reportType = reportType;
    }

    public void setPercentValue(Long percentValue)
    {
        this.percentValue = percentValue;
    }

    public Long getPercentValue() 
    {
        return percentValue;
    }
    public void setOnTime(Long onTime) 
    {
        this.onTime = onTime;
    }

    public Long getOnTime() 
    {
        return onTime;
    }
    public void setLearnTime(Long learnTime) 
    {
        this.learnTime = learnTime;
    }

    public Long getLearnTime() 
    {
        return learnTime;
    }
    public void setExerciseTime(Long exerciseTime) 
    {
        this.exerciseTime = exerciseTime;
    }

    public Long getExerciseTime() 
    {
        return exerciseTime;
    }
    public void setExerciseCount(Long exerciseCount) 
    {
        this.exerciseCount = exerciseCount;
    }

    public Long getExerciseCount() 
    {
        return exerciseCount;
    }
    public void setTimeScore(Long timeScore) 
    {
        this.timeScore = timeScore;
    }

    public Long getTimeScore() 
    {
        return timeScore;
    }
    public void setLongestTime(Long longestTime) 
    {
        this.longestTime = longestTime;
    }

    public String getLongestDay()
    {
        return longestDay;
    }

    public void setLongestDay(String longestDay)
    {
        this.longestDay = longestDay;
    }

    public Long getLongestTime()
    {
        return longestTime;
    }
    public void setShortestTime(Long shortestTime) 
    {
        this.shortestTime = shortestTime;
    }

    public Long getShortestTime() 
    {
        return shortestTime;
    }
    public void setExecute(Long execute) 
    {
        this.execute = execute;
    }

    public Long getExecute() 
    {
        return execute;
    }
    public void setAttention(Long attention) 
    {
        this.attention = attention;
    }

    public Long getAttention() 
    {
        return attention;
    }
    public void setMemory(Long memory) 
    {
        this.memory = memory;
    }

    public Long getMemory() 
    {
        return memory;
    }
    public void setLogic(Long logic) 
    {
        this.logic = logic;
    }

    public Long getLogic() 
    {
        return logic;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("customerReportCycleId", getCustomerReportCycleId())
            .append("customerId", getCustomerId())
            .append("orderId", getOrderId())
            .append("reportType", getReportType())
            .append("percentValue", getPercentValue())
            .append("onTime", getOnTime())
            .append("learnTime", getLearnTime())
            .append("exerciseTime", getExerciseTime())
            .append("exerciseCount", getExerciseCount())
            .append("timeScore", getTimeScore())
            .append("longestTime", getLongestTime())
            .append("shortestTime", getShortestTime())
            .append("execute", getExecute())
            .append("attention", getAttention())
            .append("memory", getMemory())
            .append("logic", getLogic())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
